package model

import (
	"gorm.io/gorm"
	"time"
)

type Works struct {
	Id               int            `gorm:"column:id;type:int;primaryKey;not null;" json:"id"`
	Name             string         `gorm:"column:name;type:varchar(30);default:NULL;" json:"name"`
	Describe         string         `gorm:"column:describe;type:varchar(30);comment:描述;not null;" json:"describe"` // 描述
	Ipaddress        string         `gorm:"column:ipaddress;type:varchar(30);default:NULL;" json:"ipaddress"`
	Music            string         `gorm:"column:music;type:varchar(255);default:NULL;" json:"music"`
	Video            string         `gorm:"column:video;type:varchar(255);default:NULL;" json:"video"`
	Img              string         `gorm:"column:img;type:varchar(255);default:NULL;" json:"img"`
	NumberOfLikes    int            `gorm:"column:number_of_likes;type:int;comment:点赞数;default:NULL;" json:"number_of_likes"`       // 点赞数
	NumberOfComments int            `gorm:"column:number_of_comments;type:int;comment:评论数;default:NULL;" json:"number_of_comments"` // 评论数
	CreateAt         time.Time      `gorm:"column:create_at;type:datetime(3);default:CURRENT_TIMESTAMP(3);" json:"create_at"`
	UpdateAt         time.Time      `gorm:"column:update_at;type:datetime(3);default:CURRENT_TIMESTAMP(3);" json:"update_at"`
	DeleteAt         gorm.DeletedAt `gorm:"column:delete_at;type:datetime(3);default:NULL;" json:"delete_at"`
}

func (w *Works) TableName() string {
	return "works"
}
